home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Apple WWDC 1996
/
WWDC96_1996 (CD).toast
/
Technology Materials
/
MacOS 8 Resources
/
Developer Tools
/
Mac OS 8 Interfaces & Libraries
/
Interfaces
/
IDLIncludes
/
Controls.idl
< prev
next >
Wrap
Text File
|
1996-05-01
|
13KB
|
306 lines
/*
File: Controls.idl
Contains: Control Manager interfaces
Version: Technology: System 7.5
Release: Universal Interfaces 3.0d3 on Copland DR1
Copyright: © 1984-1996 by Apple Computer, Inc. All rights reserved.
Bugs?: If you find a problem with this file, send the file and version
information (from above) and the problem description to:
Internet: apple.bugs@applelink.apple.com
AppleLink: APPLE.BUGS
*/
#ifndef __CONTROLS_IDL__
#define __CONTROLS_IDL__
#include <somobj.idl>
#include <somcls.idl>
#ifndef __TYPES_IDL__
#include <Types.idl>
#endif
#ifndef __QUICKDRAW_IDL__
#include <Quickdraw.idl>
#endif
#ifndef __MENUS_IDL__
#include <Menus.idl>
#endif
#ifdef __SOMIDL__
#if FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED
/*
_________________________________________________________________________________________________________
* CONTROL DEFINITION ID'S
_________________________________________________________________________________________________________
Standard System 7 procID's
*/
/*
_________________________________________________________________________________________________________
* VARIANT CODES
_________________________________________________________________________________________________________
*/
typedef SInt16 ControlVariant;
/*
_________________________________________________________________________________________________________
* CONTROL PART CODES
_________________________________________________________________________________________________________
*/
typedef SInt16 ControlPartCode;
/*
_________________________________________________________________________________________________________
* CHECK BOX VALUES
_________________________________________________________________________________________________________
*/
/*
_________________________________________________________________________________________________________
* RADIO BUTTON VALUES
_________________________________________________________________________________________________________
*/
/*
_________________________________________________________________________________________________________
* CONTROL POP-UP MENU CONSTANTS
_________________________________________________________________________________________________________
Variant codes for the System 7 pop-up menu
*/
/* Menu label styles for the System 7 pop-up menu */
/* Menu label justifications for the System 7 pop-up menu*/
/*
_________________________________________________________________________________________________________
* CONTROL DRAGGRAYRGN CONSTANTS
For DragGrayRgnUPP used in TrackControl()
_________________________________________________________________________________________________________
*/
/*
_________________________________________________________________________________________________________
* CONTROL COLOR TABLE PART CODES
_________________________________________________________________________________________________________
*/
/*
_________________________________________________________________________________________________________
* CONTROLHANDLE & CONTROLREF
_________________________________________________________________________________________________________
*/
typedef OpaquePtr ControlPtr; /* Substituted OpaquePtr for ``ControlRecord*'' */
typedef OpaquePtr ControlHandle; /* Substituted OpaquePtr for ``ControlPtr*'' */
typedef ControlHandle ControlRef;
/*
_________________________________________________________________________________________________________
* CONTROL ACTIONPROC POINTER
_________________________________________________________________________________________________________
*/
typedef OpaquePtr ControlActionProcPtr;
typedef OpaquePtr ControlActionUPP;
/*
_________________________________________________________________________________________________________
* CONTROL COLOR TABLE
_________________________________________________________________________________________________________
*/
typedef SOMLargeStruct CtlCTab; /* Derived from a struct of 40 bytes in size */
typedef OpaquePtr CCTabPtr; /* Substituted OpaquePtr for ``CtlCTab*'' */
typedef OpaquePtr CCTabHandle; /* Substituted OpaquePtr for ``CCTabPtr*'' */
/*
_________________________________________________________________________________________________________
* CONTROL RECORD
_________________________________________________________________________________________________________
*/
typedef SOMLargeStruct ControlRecord; /* Derived from a struct of 296 bytes in size */
/*
_________________________________________________________________________________________________________
* AUXILLARY CONTROL RECORD STRUCTURE
_________________________________________________________________________________________________________
*/
typedef SOMLargeStruct AuxCtlRec; /* Derived from a struct of 22 bytes in size */
typedef OpaquePtr AuxCtlPtr; /* Substituted OpaquePtr for ``AuxCtlRec*'' */
typedef OpaquePtr AuxCtlHandle; /* Substituted OpaquePtr for ``AuxCtlPtr*'' */
/*
_________________________________________________________________________________________________________
* POP-UP MENU PRIVATE DATA STRUCTURE
_________________________________________________________________________________________________________
*/
typedef SOMLargeStruct PopupPrivateData; /* Derived from a struct of 6 bytes in size */
typedef OpaquePtr PopupPrivateDataPtr; /* Substituted OpaquePtr for ``PopupPrivateData*'' */
typedef OpaquePtr PopupPrivateDataHandle; /* Substituted OpaquePtr for ``PopupPrivateDataPtr*'' */
/*
_________________________________________________________________________________________________________
* CONTROL ACTION PROC UPP'S
_________________________________________________________________________________________________________
*/
/*
_________________________________________________________________________________________________________
* CONTROL CREATION / DELETION API'S
_________________________________________________________________________________________________________
*/
/*
_________________________________________________________________________________________________________
* CONTROL SHOWING/HIDING API'S
_________________________________________________________________________________________________________
*/
/*
_________________________________________________________________________________________________________
* CONTROL DRAWING API'S
_________________________________________________________________________________________________________
*/
/*
_________________________________________________________________________________________________________
* CONTROL HIGHLIGHT API'S
_________________________________________________________________________________________________________
*/
/*
_________________________________________________________________________________________________________
* CONTROL TRACKING/DRAGGING API'S
_________________________________________________________________________________________________________
When using the TrackControl() call when tracking an indicator, the actionProc parameter (type ControlActionUPP)
should be replaced by a parameter of type DragGrayRgnUPP (see Quickdraw.h).
*/
/*
_________________________________________________________________________________________________________
* CONTROL MOVING/SIZING API'S
_________________________________________________________________________________________________________
*/
/*
_________________________________________________________________________________________________________
* CONTROL TITLE API'S
_________________________________________________________________________________________________________
*/
/*
_________________________________________________________________________________________________________
* CONTROL VALUE, MIMIMUM, AND MAXIMUM API'S
_________________________________________________________________________________________________________
*/
/*
_________________________________________________________________________________________________________
* CONTROL VARIANT AND WINDOW INFORMATION API'S
_________________________________________________________________________________________________________
*/
/*
_________________________________________________________________________________________________________
* CONTROL ACTION PROC API'S
_________________________________________________________________________________________________________
*/
/*
_________________________________________________________________________________________________________
* CONTROL ACCESSOR API'S
_________________________________________________________________________________________________________
*/
/*
_________________________________________________________________________________________________________
* VALID 'CDEF' MESSAGES
_________________________________________________________________________________________________________
*/
typedef SInt16 ControlDefProcMessage;
/*
_________________________________________________________________________________________________________
* MAIN ENTRY POINT FOR 'CDEF'
_________________________________________________________________________________________________________
*/
typedef OpaquePtr ControlDefProcPtr;
typedef OpaquePtr ControlDefUPP;
/*
_________________________________________________________________________________________________________
* CONSTANTS FOR DRAWCNTL MESSAGE PASSED IN PARAM
_________________________________________________________________________________________________________
*/
/*
_________________________________________________________________________________________________________
* CONSTANTS FOR DRAGCNTL MESSAGE PASSED IN PARAM
_________________________________________________________________________________________________________
*/
/*
_________________________________________________________________________________________________________
* DRAG CONSTRAINT STRUCTURE PASSED IN PARAM FOR THUMBCNTL MESSAGE (IM I-332)
_________________________________________________________________________________________________________
*/
typedef SOMLargeStruct IndicatorDragConstraint; /* Derived from a struct of 18 bytes in size */
typedef OpaquePtr IndicatorDragConstraintPtr; /* Substituted OpaquePtr for ``IndicatorDragConstraint*'' */
typedef OpaquePtr IndicatorDragConstraintHandle; /* Substituted OpaquePtr for ``IndicatorDragConstraintPtr*'' */
/*
_________________________________________________________________________________________________________
* C GLUE
_________________________________________________________________________________________________________
*/
#if OLDROUTINENAMES
/*
_________________________________________________________________________________________________________
* OLDROUTINENAMES
_________________________________________________________________________________________________________
Variants applicable to all controls (at least ones with text)
*/
#endif
/*
*****************************************************************************
* *
* The conditional STRICT_CONTROLS has been removed from this interface file.*
* The accessor macros to a ControlRecord are no longer necessary. *
* *
*****************************************************************************
Details:
The original purpose of the STRICT_ conditionals and accessor macros was to
help ease the transition to Copland. Shared data structures are difficult
to coordinate in a preemptive multitasking OS. By hiding the fields in a
WindowRecord and other data structures, we would begin the migration to
system data structures being completely hidden from applications.
After many design reviews, it was finally concluded that with this sort of
migration, the system could never tell when an application was no longer
peeking at a WindowRecord, and thus the data structure might never become
system owned. Additionally, there were many other limitations in the classic
toolbox that were begging to be addressed.
The final decision was to leave the traditional toolbox as a compatibility mode.
The preferred toolbox API for Copland is a new SOM(tm) based architecture
(e.g. HIWindows.idl). Windows, menu, controls, etc are each a SOM object
with methods for drawing, event handling, and customization.
*/
#endif
#endif /* __SOMIDL__ */
#endif /* __CONTROLS_IDL__ */